JNOS and JNOS40 COMMANDS MANUAL (Document ID: JN_CMD02) (C)1993 Johan. K. Reinalda, WG7J and Douglas E. Thompson, WG0B for JNOS release 1.10 February 28, 1994 & JNOS40 release 1.00 February 28, 1994 (based in part on the NOS Reference Manual, by Phil Karn, KA9Q and Gerard van der Grinten, PA0GRI) DISCLAIMER ----------------- The authors makes no guarantees, explicit or implied, about the functionality or any other aspect of this product. Refer to the manuals provided by the manufacturer of your equipment for installation procedures. JNOS and JNOS40 Commands Manual 28 February 1994 Page 1 .c.COPYRIGHTS AND TRADEMARKS; Data Engine, D4-10, DVR2-2, DE1200 and DE9600 are Trademarks or Registered Trademarks of Kantronics Co., Inc. Unix is a Registered Trademark of AT&T. NET.EXE program (C) Copyright 1992 by Phil R. Karn, KA9Q. JNOS and JNOS40 are based on work (C) Copyright 1991 by Phil R. Karn, KA9Q, and other contributors. JNOS (C) Copyright 1994 by Johan K. Reinalda, WG7J JNOS40 (C) Copyright 1994 by Johan. K. Reinalda, WG7J MS-DOS is a registered trademark of Microsoft, Inc. NET/ROM software (C) Copyright 1987 Software 2000, Inc. NET/ROM is a trademark of Software 2000, Inc. OS/2 is a registered trademark of International Business Machines, Inc. Windows 3.0, Windows 3.1, and Windows NT are all registered trademarks of Microsoft, Inc. JNOS and JNOS40 Commands Manual, (C) Copyright 1994 by Johan K. Reinalda, WG7J, and Douglas E. Thompson, WG0B. JNOS and JNOS40 Commands Manual 28 February 1994 Page 2 .c.TABLE OF CONTENTS; .Begin Table C. COPYRIGHTS AND TRADEMARKS 2 TABLE OF CONTENTS 3 INTRODUCTION 5 TERMINOLOGY 7 STARTING JNOS 8 STATUS DISPLAY 9 SYSTEM COMMANDS 10 12 ! 12 # 12 ? 12 abort [] 12 add 12 arp 13 asystat 14 at 15 attach 16 attended [off | on] 20 ax25 20 callserver [ ] 27 coldboot 27 connect [] 28 convers 28 delete 31 delete 31 domain 31 dump [range] 35 errors [ON | off] 35 exit 35 help or ? 35 hostname [] 35 icmp 36 iface 37 ifconfig [] 37 index [] 41 info [] 41 ip 41 keep 42 leds [on|off] 43 look [user | socket#] (/) ( 43 mbox [] 43 memory 49 mode [vc | datagram] 51 motd ["message"] 52 netrom 52 nntp 57 nrstat 57 param [] 57 password 58 ping [] 58 ports 59 JNOS and JNOS40 Commands Manual 28 February 1994 Page 3 ps 60 TABLE OF CONTENTS (cont) remote password 61 restart 61 rip 61 route [] 69 rspf 71 session [] 71 shell 72 skick 73 smtp 73 socket [] 75 start 75 status 75 stop 75 sysop [] [port] 75 tail 76 tcp 76 trace [ [off | ] 78 udp status 79 write 79 writeall 79 Bibliography 80 APPENDIX A JNOS MAILBOX USER COMMANDS 84 APPENDIX B JNOS40 NODE USER COMMANDS. 93 APPENDIX C Designing ATTACH Commands 96 APPENDIX D FTPUSERS PERMISSIONS 98 APPENDIX E REWRITE File 100 APPENDIX F FTP Session Commands 104 APPENDIX G FORWARD.BBS 107 .End Table C. JNOS and JNOS40 Commands Manual 28 February 1994 Page 4 .c.INTRODUCTION; This document combines the JNOS and JNOS40 command sets into a single document. This manual is current as of the versions indicated on the title page. Prior versions of commands or commands which have been deleted are not included. Also, this document addresses only the commands that are available in the WG7J distribution compile (uses distconf.h) Information about commands for other modules which are not included in the "standard" WG7J compile may be found in the "history" or "readme" files. There are now two manuals for JNOS and JNOS40: The COMMANDS Manual (this document) JNOS40 Configuration Guide The user interface for JNOS is very similar to most of the well- known BBS programs. The user interface for JNOS40 is very similar to the G8BPQ, TheNet and NetRom based nodes. This is to provide an easy transition for users. The user interface in the JNOS program is commonly called the 'mailbox'. Since JNOS40 doesn't provide any mail services, the terms 'node shell' or simply 'node' seem more appropriate. These terms will be used interchangeably throughout this document when describing JNOS40 commands and will appear in descriptions of JNOS commands which are common with JNOS40. The JNOS40 commands use the same syntax as JNOS as much as possible to allow ease of movement for sysops working on both types of systems. This Commands Manual contains the commands and their descriptions for using and operating a JNOS or JNOS40 tcp/ip and ax.25 packet switch, BBS, and network node. Also contained in this manual is information about the FORWARD.BBS, REWRITE, ALIAS, and USERS files used in a JNOS installation. There is substantial information of use to anyone operating packet station using tcp/ip in the "JNOS40 Configuration Guide" as well as in the History and README.NOW files. You are encouraged to obtain those files for reference purposes. Questions, remarks and suggestions about JNOS and JNOS40 are welcome and should be sent to: Johan Reinalda, WG7J/PA3DIS 420 NW 9th Corvallis, OR 97330 U.S.A. email: johan@ece.orst.edu (or wg7j@wg7j.ampr.org.) (or the sloooower WG7J@WG7J.OR.USA.NA via packet) JNOS and JNOS40 Commands Manual 28 February 1994 Page 5 or for the documentation only: Doug Thompson, WG0B PO Box 21108 Wichita, KS 67208-7108 email: wg0b@delphi.com (or thompsond@awsil5.boeing.com) or packet wg0b@k0hyd.#scks.ks.usa.na Corrections (and comments) to the documentation must include the following information: 1) Document ID (See the Title Page) 2) Page Number 3) Text as it exists This does not have to be the complete text. But it must be enough to ensure unambiguous identification of the area under discussion. 4) Text as it is proposed to be or an explanation of the problem which I will convert into appropriate text. DO NOT send a copy of the whole document with revisions scattered throughout. I have neither the time nor the inclination to wade through that much text. Send the corrections to WG0B at one of the addresses on the preceding page. If it comes to the PO Box, please ensure you send it on floppy disk, IBM format. The documents have been prepared using Microsoft Word Version 5.0. Submittals using MS Word 4.0 or 5.0 format, plain ASCII text, or Rich Text Format (RTF) (supported by WordPerfect) are all easily handled JNOS and JNOS40 Commands Manual 28 February 1994 Page 6 .c.TERMINOLOGY; Here are some of the abbreviations and terminology used throughout this manual. HOSTNAME is the tcp/ip name of a computer or packet system. INTERNET is a worldwide high speed computer network. It has thousands of computers at schools, companies and amateur packet radio systems connected to it. MTU, or Maximum Transmission Unit, is the maximum data size in one packet. Most often the data referred to by MTU is the transported data, i.e. data frame in a network connection. With tcp/ip, the size of the tcp/ip frame inside the ax.25 packet is the MTU; with net/rom, the size of the data inside the netrom packet is the MTU. NRS, or Net/Rom Serial protocol, is what TNCs with Net/Rom or TheNet eproms talk on the serial port. NODE, NODESHELL, MAILBOX are terms used interchangeably for the user interface when connected to the system. PACLEN, or packet length, is most often used to refer to data size in a link packet. The data in an ax.25 packet can be up to paclen bytes. PORT or INTERFACE means the physical connection to a radio or other system (i.e. radio port or serial interface). These two terms are used interchangeably. RFCs, or Requests For Comment, are standard papers used on Internet to discuss and propose new networking protocols and other related topics. RSPF, or Radio Shortest Path First, is a tcp/ip routing protocol especially targetted at radio environments. RTT, or Round Trip Time, indicates the time needed for data to be sent and acknowledged. SLIP, or Serial Line IP, is a way to send IP frames over a serial port without using ax.25 or ethernet to carry the data. You can use SLIP to connect to PCs or Unix systems also running SLIP, and interchange tcp/ip data. JNOS and JNOS40 Commands Manual 28 February 1994 Page 7 .c.STARTING JNOS; There are several command line options which can be exercised when starting JNOS. These commands are used to set environment variables, select configuration and autoexec files, and other functions. Options should be separated by tabs or spaces. If there is an option argument, there should NOT be any whitespace between the option and the argument. The only option not preceded by '-' is the alternate startup file -b : Use direct video for the screen output. -c# : Set the number of COLUMNS on the screen to #. -drootdir : Set the root directory for the configuration file : path. This is overwritten by the file specified : in the -f option configuration file. -e : Pause after each error line in autoexec.nos -ffile.cfg : Set JNOS configuration file and path names as : indicated in the file 'file.cfg' -l : Do NOT delete .lck files on startup -mn : Set the default screen swap mode. : n = 0 Use EMS (If compiled in and available.) : Default is EMS Available : n = 2 Use memory. (Default if NO EMS available.) : n = 3 Use a temporary disk file -n : No trace session -r# : Set the number of ROWS on the screen to # -s# : Set the number of sockets available (Default is 40) -t : trace the autoexec.nos file. You will be asked : before each if you want to execute it. 'y' accepts, : anything else skips the line. -v : Verbose. Print each line from autoexec.nos before : parsing. -u# : Set the number of status lines. Valid values 0-3 -wf+b : Set foreground/background colors for system status : default: white on magenta -xf+b : Set foreground/background colors for session status : default: white on blue -yf+b : Set foreground/background colors for 'main' window : default: the system colors when jnos starts. : (most often lightgray on black) : -zf+b : Set foreground/background colors for 'split' window : default: white on green : 0=black : 1=blue : 2=green : 3=cyan : 4=red : 5=magenta : 6=brown : 7=white/gray autoexec.new: Name of the startup file. Default is 'autoexec.nos' : or as set with -fnos.cfg JNOS and JNOS40 Commands Manual 28 February 1994 Page 8 .c.STATUS DISPLAY; JNOS now has a (up to) 3-line status display which shows: On the first line: time, heap and core free memory, number of connections to the different servers. Then a list of active sessions, where sessions with data waiting are blinking. The 2nd line shows: the users connected to the bbs. A status symbol in front means one of the following: none - user is idle * - user is a bbs @ - user is in sysop mode ! - user has gatewayed out # - user is reading or sending mail = - user is transfering data (up/download) ^ - user is in convers or sysop-chat mode ? - use is in none of the above, but not idle... Eg: BBS: *w0rli johan #ka7ehk !n7ifj (lines 1 and 2 are the 'system' window) On the 3rd line is data depending on the current session. Always displayed are the current session number and type. If the sessions are network connections, displayed are remote connection name, tx-queue (bytes for tcp, packets for ax.25), and state of the connection. It then shows the retry timer, with current time left, and initial value. In 'repeat', 'more' or 'look' sessions, the 3rd line show the command, filename or user/socket for the session. The command session 3rd line shows the current directory. (the 3rd line is the 'session' window) The number of status lines displayed can be set with the '-z#' commands line option. '-z0' turns it off. Default is '-z3' NOTE: if tracing is enabled, this will 'bleed' through the status window. This is NOT a bug, but is inherent to the way tracing works in JNOS. (It would take a major rewrite to fix.) The status window will be rebuilt about twice a second to overcome this. JNOS and JNOS40 Commands Manual 28 February 1994 Page 9 .c.SYSTEM COMMANDS; This section describes the commands recognized. Syntax is: command command literal_parameter command subcommand command [] command a | b Many commands take subcommands, parameters, or both, which may in turn be optional or required. In general, if a required subcommand or parameter is omitted, an error message will summarize the available subcommands or required parameters. (Giving a '?' in place of the subcommand will also generate the message. This method is useful when the command word alone is a valid command.) If a command takes an optional value parameter, issuing the command without the parameter generally displays the current value of the variable. (Exceptions to this rule are noted in the individual command descriptions.) Two or more parameters separated by vertical bar(s) '|' denote a choice between the specified values. When one of the choices is default, that choice will be in UPPERCASE. Optional parameters are shown enclosed in [brackets]. Parameters enclosed in should be replaced with actual values or strings. The generic notation for number values is , and for string values, it is . For example, the notation means the actual host or gateway callsign or id. Numerical defaults are explicitly stated as such, e.g., "Default = 7." All commands and many subcommands may be abbreviated. You only need type enough of a command's name to distinguish it from others that begin with the same series of letters. Parameters, however, must be typed in full. All commands are printed in bold (if you have the version of this document that supports fancy formatting), and most commands have an example following the textual description of the commands. Commands or descriptions unique to one program or the other are annotated with {JNOS} or {JNOS40}. When JNOS40 is in the Data Engine, many variables are kept in battery backed ram. They are protected against corruption by a 16 bit CRC. If the CRC is valid, the value or state of these variables will be maintained across power outages or warm restarts. This is only true if the variables are not re-set in the startup configuration. These variables are marked with '(B)' at the beginning of their command description. For example, if you set the tcp retries value to 0, if will be still 0 after a power down or warm restart. If the conference server was stopped, it will not be restarted after a power down or warm restart. However, if your startup configuration contains a line 'start convers', the server will be started! To override this, either change it from remote sysop mode, or use the 'add' command to JNOS and JNOS40 Commands Manual 28 February 1994 Page 10 add the 'stop convers' to the configuration. (see the 'add' commandfor more). JNOS and JNOS40 Commands Manual 28 February 1994 Page 11 The following section contains the comprehensive set of commands for JNOS and JNOS40. Commands unique to one system are annotated with {JNOS} or {JNOS40}, as appropriate. .c.; {JNOS} Entering a carriage return (empty line) while in command mode puts you in converse mode with the current session. If there is no current session, Nos remains in command mode and reissues the 'net>' prompt. .c.!; {JNOS} An alias for the shell command. .c.#; Commands starting with the hash mark (#) are ignored. The hash mark is mainly useful for comments in the autoexec.nos. {JNOS40} The CFG.EXE program eliminates lines beginning with the '#' when building the image files for the eproms. .c.?; Same as the 'help' command. .c.abort []; {JNOS} Abort a FTP get, put or dir operation in progress. If issued without an argument, the current session is aborted. (This command works only on FTP sessions.) When receiving a file, abort simply resets the data connection; the next incoming data packet will generate a TCP RST (reset) response to clear the remote server. When sending a file, abort sends a premature end-of-file. Note that in both cases abort will leave a partial copy of the file on the destination machine, which must be removed manually if it is unwanted. .c.add ; {JNOS40} (B) The add command allows you to add commands to the configuration after the system is up and running. is JNOS and JNOS40 Commands Manual 28 February 1994 Page 12 a valid command line which will be executed and then stored inbattery-backed RAM. Next time the system restarts, all commands put in eprom with the cfg.exe program will be executed followed by any commands saved with the 'add' command. 'add' with no arguments will display the commands stored. Each line will show a line number that should be used if you want to delete the line with the 'del' command. To add another ip route after the system is started and have it be remembered after the next power outage or warm restart: add route add 1.2.3.4 1 .c.arp; Display the Address Resolution Protocol table that maps IP addresses to their subnet (link) addresses on subnetworks capable of broadcasting. For each IP address entry the subnet type (e.g., AX.25), subnet address and time to expiration is shown. If the link address is currently unknown, the number of IP datagrams awaiting resolution is also shown. arp add ax25 | netrom {JNOS40} or arp add ether | ax25 | netrom | arcnet | {JNOS} Add a permanent entry to the table. It will not time out as will an automatically created entry, but must be removed with the 'arp drop' command. arp add 44.26.0.19 ax25 wg7j-2 port1 arp drop ax25 | netrom {JNOS40} or arp drop ether | ax25 | netrom | arcnet {JNOS} Delete a permanent entry from the arp table. arp delete 44.26.0.19 ax25 port1 arp eaves [] [on | OFF] Display or set the 'arp eavesdrop' function per interface. If set, all arp replies overheard on the interface will be logged in the arp table. This speeds up arp discovery, but might build a huge arp table taking up lots of memory. Default for each interface is off. JNOS and JNOS40 Commands Manual 28 February 1994 Page 13 # Set arp eavesdrop on interface port1 arp eaves port1 on arp flush Drop all automatically-created entries in the ARP table; permanent entries are not affected. arp maxq [n] Display or set the maximum number of packets to be buffered waiting for an arp resolution to finish. {JNOS} Default = 5. {JNOS40} Default = 2. arp maxq 5 arp poll [] [on | off] Display or set the 'arp keepalive polling' per interface. If set, when an arp entry expires, a query will be sent for the address. This keeps the arp table fresh, but possibly retains many unneeded entries. arp poll port1 on arp publish ax25|netrom This command is similar to the 'arp add' command, but the system will also respond to any ARP request it sees on the network that seeks the specified address. (Use this feature with great care!) arp publish 44.26.1.19 ax25 wg7j-2 port1 arp sort [ON | off] {JNOS} Sorts the arp display .c.asystat; {JNOS} Display statistics on attached asynchronous communications interfaces (8250 or 16550A), if any. The display for each port consists of three lines. The first line gives the port label and the configuration flags; these indicate whether the port is a 16550A chip, the trigger character if any, whether CTS flow control is enabled, whether RLSD (carrier detect) line control is enabled, and the speed in bits per second. (Receiving the trigger character causes the driver to signal upper layer software that data is ready; it is JNOS and JNOS40 Commands Manual 28 February 1994 Page 14 automatically set to the appropriate frame end character for SLIP, PPPand NRS lines.) The second line of the status display shows receiver (RX) event counts: the total number of receive interrupts, received characters, receiver overruns (lost characters) and the receiver high water mark. The high water mark is the maximum number of characters ever read from the device during a single interrupt. This is useful for monitoring system interrupt latency margins as it shows how close the port hardware has come to overflowing due to the inability of the CPU to respond to a receiver interrupt in time. 8250 chips have no FIFO, so the high water mark cannot go higher than 2 before overruns occur. The 16550A chip, however, has a 16-byte receive FIFO which the software programs to interrupt the CPU when the FIFO is one-quarter full. The high water mark should typically be 4 or 5 when a 16550A is used; higher values indicate that the CPU has at least once been slow to respond to a receiver interrupt. When the 16550A is used, a count of FIFO timeouts is also displayed on the RX status line. These are generated automatically by the 16550A when three character intervals go by with more than 0 but less than 4 characters in the FIFO. Since the characters that make up a SLIP or NRS frame are normally sent at full line speed, this count will usually be a lower bound on the number of frames received on the port, as only the last fragment of a frame generally results in a timeout (and then only when the frame is not a multiple of 4 bytes long.) Finally, the software fifo overruns and high water mark are displayed. These indicate whether the parameter on the attach command needs to be adjusted (see the Attach Commands chapter). The third line shows transmit (TX) statistics, including a total count of transmit interrupts, transmitted characters, the length of the transmit queue in bytes, the number of status interrupts, and the number of THRE timeouts. The status interrupt count will be zero unless CTS flow control or RLSD line control has been enabled. The THRE timeout is a stopgap measure to catch lost transmit interrupts, which seem to happen when there is a lot of activity (ideally, this will be zero). .c.at; {JNOS} The 'at' command is used to provide automatic starting of other JNOS commands at predetermined times. at time time takes the form yymmddhhmm hhmm mm JNOS and JNOS40 Commands Manual 28 February 1994 Page 15 Attaching the Data Engine's serial port. now+hhmm is any legal JNOS command. Multiple word commands must be enclosed in double quotes (" "). Commands which invoke the DOS shell must include 'c/' as the first argument in order for the shell to be exited and NOS to be re-entered automatically. at k This form of the 'at' command kills jobs ... .c.attach; attach <1|2|3|axip|kiss|pkiss|netrom> [options] {JNOS40} Attach an interface to the Data Engine. See also the section ATTACHING INTERFACES. Syntax is: 'attach 1 [c]' where: mode - is one of 'ax25', 'pkiss', 'slip' or 'nrs' name - is the interface name, e.g. 'port1' buffer - is the receive buffer size mtu - is the maximum transmission unit speed - any common speed from 300 - 38400 Bd. c - forces use of hardware handshaking except for mode='pkiss' (G8BPQ polled-kiss) Note: 19200 and higher is not very reliable if you use DE9600 modems, due to a hardware design limitation. See also the 'attach kiss' command attach 1 ax25 port1 512 256 9600 JNOS and JNOS40 Commands Manual 28 February 1994 Page 16 Attach the Data Engine's internal radio ports The modem type in each port is automatically sensed when a port is attached. Modem types A,B and D have been tested. Modem type C is supported, but currently has not been tested. Syntax is: 'attach <2|3> [f][n]' {JNOS40} where: 2|3 - is one of the Data Engine internal ports name - is the interface name mtu - is the maximum transmission unit. speed - is the radio speed. [f][n] - are optional parameters. 'f' indicates full duplex and 'n' is the value written to the mode AUX pins. This is used in the Kantronics 1200Bd modem to choose the type of CD circuitry to be used. attach 3 port2 256 1200 2 attach 2 port2 1024 9600 f attach 2 port3 256 1200 f1 Note: full duplex is not yet supported on port B. Attaching the ports on a PC attach